1. Field of the Invention
The present invention relates to a parallel data processing field for performing high-speed data processing.
2. Description of the Prior Art
Referring to FIGS. 4 and 5, there will be shown the basic configuration of a conventional parallel data processing system as proposed in p.111-112 and p.301-476 of Highly Parallel Computing (written by G. S. Almasi and A. Gottlieb (Benjamin/Cummings Publishing Company, Inc., 1989). FIG. 4 shows an SIMD (Single Instruction Stream, Multiple Data Streams) type parallel data processing unit having a single instruction stream and multiple data streams, and FIG. 5 shows a MIMD (Multiple Instruction Streams, Multiple Data Streams) type parallel data processing unit having multiple data and instruction streams.
In FIG. 4, reference numerals 1, 2, 3 and 4 are arithmetic units, 5, 6, 7 and 8 local memories, 9 a memory bus, 10 a common memory and 11 a controller for controlling the whole system. In FIG. 5, 21, 22, 23 and 24 are arithmetic units, 25, 26 and 27 local memories, 35, 36, 37 and 38 controllers, 29 a memory bus, 30 a common memory, and 31 a controller for controlling the whole system.
The operation of the system will be described next.
In the SIMD type parallel data processing unit shown in FIG. 4, the same instructions are issued from the system controller 11 where programs are executed to all of the arithmetic units 1 to 4 simultaneously so as to process data stored in each of the local memories 5 to 8. The common memory 10 is accessed through the memory bus 9 in the course of processing when necessary.
Meanwhile, in the MIMD type parallel data processing unit shown in FIG. 5, each program is executed at each of the processor controllers 35 to 38 to issue instructions to each of the arithmetic units 21 to 24, whereby data stored in each of the local memories 25 to 28 are processed. The common memory 30 is also accessed through the memory bus 29 in the course of processing when necessary. The system controller 31 controls synchronization and monitoring operations for the whole system.
Such conventional SIMD and MIMD type parallel data processing units have both advantages and disadvantages. That is, the SIMD type parallel data processing unit has only a single instruction stream with the result that control is simple, thus making large-scale parallel processings easy and extremely high-speed processings possible. However, the unit has the disadvantage of low flexibility in processing and accordingly, is not suitable for complex processings.
On the other hand, each processor of the MIMD type parallel data processing unit operates independently, and consequently, can each perform advanced processings. As a result, control becomes more complex, and the unit is not suitable for large-scale parallel processings.
In this way, the SIMD type and MIMD type parallel data processing units are quite different in the contents of parallel processing, and are each suitable for different application fields. Therefore, it is very difficult to cover a wide variety of application fields with only one of the units.
An explanation is given below, taking particularly important numerical calculation and image processing fields as examples of parallel data processing application fields.
Processing models in the numerical calculation field are roughly divided into (1) particle models typified by Monte Carlo simulation, (2) continuous models for solving partial differential equations such as those representing physical phenomena, and (3) discrete models for solving simultaneous equations such as those for expressing the analysis of networks. Out of these models, the continuous models involve a repetition of a large quantity of regular and local calculations. Therefore, SIMD type large-scale parallel processing is suitable for the models. On the other hand, discrete models do not require large-scale parallelism, but do require complex processing. Therefore, medium-scale MIMD type parallel processing is suitable for these models. Furthermore, as particle models require large-scale and complex processing in most cases, they must be processed by the SIMD and MIMD type parallel processing units depending on conditions and the number of data to be processed.
Next, image processings are roughly classified into (1) the processings of the conversion of density values and pixel units such as conversion into binary units, (2) processings between adjacent pixels such as a spatial filter, (3) general processings such as geometrical transformation and high-speed Fourier transformation, and (4) permeation and tracking type processings such as labelling and the detection of boundaries. Out of these processings, the SIMD type processing unit is suitable for the processings of pixel units and processings between adjacent pixels because they are simple and large-scale processings, while the MIMD type processing unit is suitable for general processings because they are complex and wide-ranging processings. Meanwhile, MIMD and SIMD type processing units must be used properly for the permeation and tracking type processings according to conditions and the number of data to be processed.
In this way, there are various types of processings even in a specific field such as numerical calculation and image processing fields. Therefore, it is very difficult to perform the optimum parallel in one application field with a single parallel processing architecture.
In view of the drawbacks with the prior art, it is an object of the present invention to make it possible to apply to any application field almost the optimum parallel processing architecture which utilizes the advantages of both SIMD and MIMD type units and covers up the disadvantages of each unit.